package com.nbst.comnutil;

/**
 * @author King
 * @ClassName: Constants
 * @Description: 全局常量（所有的常量都维护在这里）
 * @date 2020年6月11日
 */
public final class Constants {

    /**
     * @author King
     * @ClassName: DefaultResultEnums
     * @Description:默认接口返回状态枚举
     * @date 2020年6月11日
     */
    public static enum DefaultResultEnums {
        /**
         * 正常
         */
        SYSTEM_NORMAL("0000", "操作成功"),

        /**
         * 服务端异常
         */
        SERVICE_ERROR("9999", "操作失败"),

        /**
         * 未找到
         */
        NOT_FIND("5555", "未找到数据");

        private String name;
        private String code;

        private DefaultResultEnums(String code, String name) {
            this.name = name;
            this.code = code;
        }

        // 普通方法
        public static String getName(String code) {
            for (DefaultResultEnums c : DefaultResultEnums.values()) {
                if (code.equals(c.getCode())) {
                    return c.name;
                }
            }
            return null;
        }

        public String getName() {
            return name;
        }

        public void setName(String name) {
            this.name = name;
        }

        public String getCode() {
            return code;
        }

        public void setCode(String code) {
            this.code = code;
        }
    }

    /**
     * @author King
     * @ClassName: DefaultResultEnums
     * @Description:权限登录枚举
     * @date 2020年7月10日
     */
    public static enum SecurityResultEnums {
        /**
         * 未登录或者token失效
         */
        AUTHORITY_SUCCESS("1", "鉴权成功"),
        /**
         * 未登录或者token失效
         */
        AUTHORITY_FAIL("-1", "鉴权失败"),
        /**
         * 未登录或者token失效
         */
        TOKEN_NOT_FOUND("0", "未登录或者token失效"),
        /**
         * 没有权限
         */
        NOT_AUTHORITY("403", "无权限"),
        /**
         * 当前IP无权限
         */
        NOT_IP_AUTHORITY("403", "当前IP无权限");

        private String name;
        private String code;

        private SecurityResultEnums(String code, String name) {
            this.name = name;
            this.code = code;
        }

        // 普通方法
        public static String getName(String code) {
            for (DefaultResultEnums c : DefaultResultEnums.values()) {
                if (code.equals(c.getCode())) {
                    return c.name;
                }
            }
            return null;
        }

        public String getName() {
            return name;
        }

        public void setName(String name) {
            this.name = name;
        }

        public String getCode() {
            return code;
        }

        public void setCode(String code) {
            this.code = code;
        }
    }

    /**
     * @author King
     * @ClassName: TaskResultEnums
     * @Description:任务单模块接口返回状态枚举
     * @date 2020年6月11日
     */
    public static enum TaskResultEnums {
        /**
         * 任务单编号不能为空
         */
        TASK_NO_NOT_NULL("taskIdNotNull"),

        /**
         * BOM单ID不能为空
         */
        BOM_ID_NOT_NULL("bomIdNotNull"),

        /**
         * 任务单计划数量不能为空
         */
        TASK_QTY_NOT_NULL("taskQtyNotNull"),

        /**
         * 工艺路线id不能为空
         */
        ROUTING_ID_NOTEMPTY("routingIdNotEmpty"),

        /**
         * BOM不存在
         */
        BOM_NOT_EXIST("bomNotExist"),

        /**
         * BOM明细不存在
         */
        BOM_ENTRY_NOT_EXIST("bomEntryNotExist"),

        /**
         * 物料不存在
         */
        ITEM_NOT_EXIST("itemNotExist"),

        ;

        private String code;

        private TaskResultEnums(String code) {
            this.code = code;
        }

        public String getCode() {
            return code;
        }

        public void setCode(String code) {
            this.code = code;
        }
    }

    /**
     * @author King
     * @ClassName: DispatchedResultEnums
     * @Description:派工单模块接口返回状态枚举
     * @date 2020年7月2日
     */
    public static enum DispatchedResultEnums {
        /**
         * 任务单不存在
         */
        TASK_NOT_EXIST("taskNotExist"),
        /**
         * 流转卡不存在
         */
        CARD_NOT_EXIST("cardNotExist"),

        /**
         * 派工数量不能为空
         */
        PLAN_QTY_NOT_NULL("planQtyNotNull"),

        /**
         * 派工数量不能小于0
         */
        PLAN_QTY_LESS_ZERO("planQtyLessZero"),

        /**
         * 可派工数不足
         */
        PLAN_QTY_NOT_ENOUGH("planQtyNotEnough"),

        /**
         * 任务单已删除
         */
        TASK_DELETE("taskDelete"),

        /**
         * 工序已删除
         */
        CARD_DELETE("cardDelete"),

        /**
         * 备料单为空
         */
        TASK_PPBOM_ISNULL("taskPpbomIsNull"),

        /**
         * 任务单已关闭
         */
        TASK_CLOESD("taskCloesd"),
        /**
         * 任务单已关闭
         */
        TIME_IS_NOTNULL("timeIsNotNull"),
        /**
         * 派工单已关闭
         */
        DISPATCHED_IS_NOTNULL("dispatchedIsNotNull"),
        /**
         * 存在有效的开工单，无法撤销
         */
        DISPATCHED_CANCEL_HAVE_STARWORK("dispatchedCancelHaveStarWork"),
        /**
         * 存在有效的完工单，无法撤销
         */
        DISPATCHED_CANCEL_HAVE_ENDWORK("dispatchedCancelHaveEndWork"),
        /**
         * 存在有效的发料记录，无法撤销
         */
        DISPATCHED_CANCEL_HAVE_FEEDBILL("dispatchedCancelHaveFeedBill"),
        ;

        private String code;

        private DispatchedResultEnums(String code) {
            this.code = code;
        }

        public String getCode() {
            return code;
        }

        public void setCode(String code) {
            this.code = code;
        }
    }

    /**
     * @author King
     * @ClassName: StartWorkResultEnums
     * @Description:开工单模块接口返回状态枚举
     * @date 2020年7月3日
     */
    public static enum StartWorkResultEnums {
        /**
         * 派工单id不能为空
         */
        DISPATCHED_ID_NOTNULL("dispatchedIdNotNull"),

        /**
         * 员工卡号不能为空
         */
        EMP_CARD_NO_NOTNULL("empCardNoNotNull"),

        /**
         * 没有员工信息
         */
        NO_EMP_INFO("noEmpInfo"),

        /**
         * 设备/组id不能为空
         */
        DEVICE_ID_ISNULL("deviceIdIsNull"),

        /**
         * 派工单已完成
         */
        DISPATCHED_FINISH("dispatchedFinish"),

        /**
         * 派工单未发料
         */
        NOT_ITEM_ISSUED("notItemIssued"),

        /**
         * 派工单已删除
         */
        DISPATCHED_DELETE("dispatchedDelete"),

        /**
         * 重复开工
         */
        START_WORK_REPEAT("startWorkRepeat"),

        /**
         * 派工单不存在
         */
        DISPATCHED_BILL_NOTEXIST("dispatchedBillNotExist"),
        /**
         * 派工单非开工状态
         */
        DISPATCHED_BILL_NOT_WORK_STATUS("dispatchedBillNotWorkStatus"),
        /**
         * 开工单已生成完工信息，无法撤销
         */
        START_WORK_HAVE_END_WORK("startWorkHaveEndWork"),
        ;
        private String code;

        private StartWorkResultEnums(String code) {
            this.code = code;
        }

        public String getCode() {
            return code;
        }

        public void setCode(String code) {
            this.code = code;
        }
    }

    /**
     * 工序合并接口返回值枚举
     *
     * @author liyiwei
     * @date 2020年7月10日
     */
    public static enum MergeOper {
        /**
         * 请选择一个类型，是解除合并，还是合并
         */
        TYPE_IS_NOT_NULL("typeIsNotNull"),

        /**
         * 清选择需要操作的工序
         */
        OPER_IS_NOT_NULL("operIsNotNull"),

        /**
         * 合并最少要有两道工序做操作
         */
        OPERNUM_IS_NOT_ENOUGH("operNumIsNotEnough"),

        /**
         * 工序id不能为空
         */
        CARDID_IS_NOT_NULL("cardIdIsNotNull"),

        /**
         * 本次操作的工序里已有开工的工序，不能合并
         */
        OPER_STARTED("operStarted"),

        /**
         * 已合并的工序不能再次合并
         */
        OPER_MERGED("operMerged"),

        /**
         * 解除合并需有合并码
         */
        MERGECODE_IS_NOT_NULL("mergeCodeIsNotNull"),

        /**
         * 该合并工序已有派工数据，不能解除合并
         */
        OPER_DISPATCHED("operDispatched"),

        /**
         * 数据错误
         */
        DATAERROR("dataError");
        private String code;

        private MergeOper(String code) {
            this.code = code;
        }

        public String getCode() {
            return code;
        }

        public void setCode(String code) {
            this.code = code;
        }
    }

    /**
     * @author King
     * @ClassName: EndWorkResultEnums
     * @Description:完工单模块接口返回值枚举
     * @date 2020年7月4日
     */
    public static enum EndWorkResultEnums {
        /**
         * 查询开工单信息时出错了
         */
        STARTWORK_BILL_NOTEXIST("startWorkBillNotExist"),
        /**
         * 开工单id不能为空
         */
        STARTWORK_ID_NOTNULL("startWorkIdNotNull"),

        /**
         * 派工单id不能为空
         */
        DISPATCH_ID_NOTNULL("dispatchIdNotNull"),

        /**
         * 报工数不可小于0
         */
        FINISHQTY_LESS_ZERO("finishQtyLessZero"),

        /**
         * 报工总数与实际不符
         */
        FINISHQTY_ERROR("finishQtyError"),

        /**
         * 报工数不可大于可报工数
         */
        REMAINDERQTY_INSUFFICIENT("remainderQtyInsufficient"),

        /**
         * 没有找到开工单
         */
        STARTWOK_ISNULL("startWokIsNull"),

        /**
         * 没有找到派工单
         */
        DISPATCHED_ISNULL("dispatchedIsNull"),

        /**
         * 没有找到工序信息
         */
        FLOWCARD_ISNULL("flowCardIsNull"),

        /**
         * 没有找到任务单信息
         */
        TASK_ISNULL("taskIsNull"),
        /**
         * 已质检完工单，无法撤销
         */
        QC_STAUTS_IS_NOT_NULL("qcStatusIsNotNull"),
        /**
         * 完工单已生成入库订单，无法撤销
         */
        END_WORK_HAVE_IN_STOCK_BILL("endWorkHaveInStockBill"),
        ;
        private String code;

        private EndWorkResultEnums(String code) {
            this.code = code;
        }

        public String getCode() {
            return code;
        }

        public void setCode(String code) {
            this.code = code;
        }
    }

    /**
     * 委外转出返回消息枚举
     *
     * @author King
     * @ClassName: SubcOutResultEnums
     * @Description:
     * @date 2020年7月11日
     */
    public static enum SubcOutResultEnums {
        /**
         * 委外转出源单类型不能为空
         */
        SUBCOUT_SOURCETYPE_ISNULL("subcOutSourceTypeIsNull"),

        /**
         * 转出源单id不能为空
         */
        SUBCOUT_SOURCEID_ISNULL("subcOutSourceIdIsNull"),

        /**
         * 外协单位id不能为空
         */
        SUBCOUT_SUPPLIERID_ISNULL("subcOutSupplierIdIsNull"),

        /**
         * 外协单位名称不能为空
         */
        SUBCOUT_SUPPLIERNAME_ISNULL("subcOutSupplierNameIsNull"),

        /**
         * 转出记录不能为空
         */
        SUBCOUT_LIST_ISNULL("subcOutListisNull"),

        /**
         * 物料id不能为空
         */
        SUBCOUT_ITEMID_ISNULL("subcOutItemIdIsNull"),

        /**
         * 转出数量不可小于0
         */
        SUBCOUT_QTY_LESSZERO("subcOutQtyLessZero"),

        /**
         * 任务单id不能为空
         */
        SUBCOUT_TASKID_ISNULL("subcOutTaskidIsNull"),

        /**
         * 任务单不存在或已关闭
         */
        SUBCOUT_TASK_NOTEXIST("subcOutTaskNotExist"),

        /**
         * 累计转出数大于任务单数量，不可转出
         */
        SUBCOUT_QTY_FULL("subcOutQtyFull"),

        /**
         * 员工卡号不能为空
         */
        EMP_CARDNO_ISNULL("empCardNoIsNull"),

        /**
         * 该员工不存在
         */
        EMP_NOTEXIST("empNotExist"),

        /**
         * 委外转出物料不存在
         */
        SUBCITEM_NOTEXIST("subcItemNotExist"),

        /**
         * 交期不能为空
         */
        DELIVERY_DATE_ISNULL("deliveryDateIsNull"),

        /**
         * 交期需大于今天
         */
        DELIVERYDATE_LESS("deliveryDateLess"),

        /**
         * 任务单备料单不存在
         */
        SUBCOUT_TASK_PPBOM_NOTEXIST("subcOutTaskPpbomNotExist"),
        ;

        private String code;

        private SubcOutResultEnums(String code) {
            this.code = code;
        }

        public String getCode() {
            return code;
        }

        public void setCode(String code) {
            this.code = code;
        }
    }

    /**
     * @author King
     * @ClassName: InStockResultEnums
     * @Description:入库返回值枚举接口
     * @date 2020年7月11日
     */
    public static enum InStockResultEnums {

        /**
         * 入库类型不能为空
         */
        INSTOCK_TYPE_NOTNULL("inStockTypeNotNull"),

        /**
         * id不能为空
         */
        ID_ISNOTNULL("idIsNotNull"),

        /**
         * 委外接收单据不存在
         */
        SUBCIN_BILL_NOTEXIST("subcInBillNotExist"),

        /**
         * 委外接收单据良品数为空
         */
        SUBCIN_BILL_PASSQTY_ISNULL("subcInBillPassQtyIsNull"),

        /**
         * 该接收单没有可入库数
         */
        SUBCIN_BILL_INSTOCKQTY_FULL("subcInBillInStockQtyFull"),
        ;

        private String code;

        private InStockResultEnums(String code) {
            this.code = code;
        }

        public String getCode() {
            return code;
        }

        public void setCode(String code) {
            this.code = code;
        }
    }

    /**
     * @author King
     * @ClassName: OutStockResultEnums
     * @Description:出库返回值枚举
     * @date 2020年7月11日
     */
    public static enum OutStockResultEnums {

        /**
         * 委外转出记录明细不存在或已删除
         */
        SUBCOUT_ENTRY_INFO_NOTEXIST("subcOutEntryInfoNotExist"),

        /**
         * 委外转出记录不存在或已删除
         */
        SUBCOUT_INFO_NOTEXIST("subcOutInfoNotExist"),
        /**
         * 出库类型不能为空
         */
        OUTSTOCK_TYPE_ISNULL("outStockTypeIsnull"),
        ;
        private String code;

        private OutStockResultEnums(String code) {
            this.code = code;
        }

        public String getCode() {
            return code;
        }

        public void setCode(String code) {
            this.code = code;
        }
    }

    /**
     * @author King
     * @ClassName: FeedBillResultEnums
     * @Description:派工单发料模块接口返回值枚举
     * @date 2020年7月6日
     */
    public static enum FeedBillResultEnums {

        /**
         * 员工卡号不能为空
         */
        WORKER_CARDNO_NOTNULL("workerCardNoNotNull"),

        /**
         * 源单id不能为空
         */
        SOURCE_ID_NOTNULL("sourceIdNotNull"),

        /**
         * 没有找到该员工信息
         */
        WORKER_NOTEXIST("workerNotExist"),

        /**
         * 派工单不存在或已删除
         */
        DISPATCH_BILL_NOTEXIST("dispatchBillNotExist"),

        /**
         * 发料记录不能为空
         */
        OUTITEM_RECORD_CANNOT_BE_EMPTY("outItemRecordCannotBeEmpty"),

        /**
         * 物料内码不能为空
         */
        ITEM_ID_NOTNULL("itemIdNotNull"),

        /**
         * 发料数不可小于0
         */
        OUTQTY_LESS_ZERO("outQtyLessZero"),

        /**
         * 仓库id不能为空
         */
        STOCK_ID_NOTNULL("stockIdNotNull"),

        /**
         * 投料单不存在或已删除
         */
        FEEDBILL_NOTEXIST("feedBillNotExist"),

        /**
         * 投料单明细不存在
         */
        FEEDBILL_ENTRY_NOTEXIST("feedBillEntryNotExist"),

        /**
         * 当前提交的发料数大于投料单物料的应发数量
         */
        FEEDBILL_QTY_EXCEED("feedBillQtyExceed"),

        /**
         * 当前投料单中不存在该物料
         */
        FEEDBILL_ITEM_NOTEXIST("feedBillitemNotExist"),

        /**
         * 即时库存不足
         */
        INVENTORY_INSUFFICIENT("inventoryInsufficient"),

        /**
         * 没有找到即时库存信息
         */
        INVENTORY_NOTEXIST("inventoryNotExist"),
        ;
        private String code;

        private FeedBillResultEnums(String code) {
            this.code = code;
        }

        public String getCode() {
            return code;
        }

        public void setCode(String code) {
            this.code = code;
        }
    }

    /**
     * @author wangwt
     * @ClassName: ChangeStockResultEnums
     * @Description:移库接口返回状态枚举
     * @date 2020年7月8日
     */
    public static enum ChangeStockResultEnums {
        /**
         * 移库单不存在
         */
        CHNAGE_ORDER_NOT_EXIST("changeOrderNotExist"),
        /**
         * 移库单已关闭
         */
        CHNAGE_ORDER_IS_CLOSE("changeOrderIsClose"),
        /**
         * 重复操作
         */
        CHNAGE_ORDER_REPEAT("changeOrderRepeat"),
        /**
         * 移库数量不能为空
         */
        CHANGE_QTY_NOT_NULL("changeQtyNotNull"),

        /**
         * 库存信息不能为空
         */
        STOCK_INFO_NOT_NULL("stockInfoNotNull"),

        /**
         * 移库数量不足
         */
        CHANGE_QTY_NOT_ENOUGH("changeQtyNotEnough"),

        /**
         * 移库明细不能为空
         */
        CHANGE_ENTRY_NOT_NULL("changeEntryNotNull"),
        ;

        private String code;

        private ChangeStockResultEnums(String code) {
            this.code = code;
        }

        public String getCode() {
            return code;
        }

        public void setCode(String code) {
            this.code = code;
        }
    }

    /**
     * @author wangwt
     * @ClassName: StockInfoResultEnums
     * @Description:仓库接口返回状态枚举
     * @date 2020年7月8日
     */
    public static enum StockInfoResultEnums {

        /**
         * 默认库位组信息不能修改
         */
        DEFAULT_INFO_NOT_CHANGE("defaultInfoNotChange"),
        /**
         * 仓库ID不能为空
         */
        STOCK_ID_NOT_EMPTY("stockIdNotEmpty"),
        /**
         * 仓库名称不能为空
         */
        STOCK_NAME_NOT_EMPTY("stockNameNotEmpty"),
        /**
         * 仓库信息不存在或者已删除
         */
        STOCK_NOT_FOUND("stockNotFound"),
        /**
         * 库位ID不能为空
         */
        STOCK_PLACE_ID_NOT_EMPTY("stockPlaceIdNotEmpty"),
        /**
         * 库位信息不存在或者已删除
         */
        STOCK_PLACE_NOT_FOUND("stockPlaceNotFound"),
        /**
         * 库位组ID不能为空
         */
        STOCK_PLACE_GROUP_ID_NOT_EMPTY("stockPlaceGroupNotFound"),
        /**
         * 库位信息不存在或者已删除
         */
        STOCK_PLACE_GROUP_NOT_FOUND("stockPlaceGroupNotFound"),
        ;

        private String code;

        private StockInfoResultEnums(String code) {
            this.code = code;
        }

        public String getCode() {
            return code;
        }

        public void setCode(String code) {
            this.code = code;
        }
    }

    /**
     * @author wangwt
     * @ClassName: CheckStockResultEnums
     * @Description:盘点接口返回状态枚举
     * @date 2020年7月8日
     */
    public static enum CheckStockResultEnums {
        /**
         * 盘点单不存在
         */
        CHECK_ORDER_NOT_EXIST("checkOrderNotExist"),
        /**
         * 盘点单已关闭
         */
        CHECK_ORDER_IS_CLOSE("checkOrderIsClose"),
        /**
         * 重复操作
         */
        CHECK_ORDER_REPEAT("checkOrderRepeat"),
        /**
         * 盘点库存数量不能为空
         */
        CHECK_STOCK_QTY_NOT_NULL("checkStockQtyNotNull"),
        /**
         * 盘点数量不能为空
         */
        CHECK_QTY_NOT_NULL("checkQtyNotNull"),
        /**
         * 盘点明细不能为空
         */
        CHECK_ENTRY_NOT_NULL("checkEntryNotNull"),
        /**
         * 盘点库存信息不能为空
         */
        CHECK_STOCK_INFO_NOT_NULL("checkStockInfoNotNull");

        private String code;

        private CheckStockResultEnums(String code) {
            this.code = code;
        }

        public String getCode() {
            return code;
        }

        public void setCode(String code) {
            this.code = code;
        }
    }

    /**
     * @author liyiwei
     * @Description:用户登录返回状态枚举
     * @date 2020年7月9日
     */
    public static enum LoginResultEnum {
        /**
         * 登录成功
         */
        LOGIN_SUCCESS("0000", "登录成功"),
        /**
         * 账号不存在
         */
        ACCOUNT_NOT_EXIST("accountNotExist"),

        /**
         * 密码错误
         */
        PASSWORD_ERROR("passwordError"),
        /**
         * 账号已关闭
         */
        ACCOUNT_CLOSED("accountClosed");

        private String code;
        private String name;

        private LoginResultEnum(String code) {
            this.code = code;
        }

        private LoginResultEnum(String code, String name) {
            this.code = code;
            this.name = name;
        }

        public String getCode() {
            return code;
        }

        public void setCode(String code) {
            this.code = code;
        }

        public String getName() {
            return name;
        }

        public void setName(String name) {
            this.name = name;
        }
    }

    /**
     * @author liyiwei
     * @ClassName: SubcOutOrderDeliveryEnums
     * @Description:昌扬委外订单发货返回消息编码
     * @date 2020年7月8日
     */
    public static enum SubcOutOrderDeliveryEnums {
        /**
         * 该委外单信息不存在
         */
        SUBCOUT_NOTEXIST("subcOutNotExist"),

        /**
         * 没有发货数
         */
        DELIVERY_QTY_NOTEXIST("deliveryQtyNotExist"),

        /**
         * 发货数不可小于0
         */
        DELIVERY_QTY_LESS_ZERO("deliveryQtyLessZero"),

        /**
         * 发货数超过剩余数量
         */
        DELIVERY_QTY_EXCEED("deliveryQtyExceed"),
        ;

        private String code;

        private SubcOutOrderDeliveryEnums(String code) {
            this.code = code;
        }

        public String getCode() {
            return code;
        }

        public void setCode(String code) {
            this.code = code;
        }
    }

    /**
     * @author King
     * @ClassName: WorkBillInStockResultEnums
     * @Description:生产入库返回消息编码值
     * @date 2020年7月8日
     */
    public static enum WorkBillInStockResultEnums {

        /**
         * 没有提交入库信息
         */
        INSTOCK_INFO_ISNULL("inStockInfoIsNull"),

        /**
         * 请录入源单id
         */
        SOURCEID_ISNULL("sourceIdIsNull"),

        /**
         * 请选择需要入的仓库
         */
        STOCKID_ISNULL("stockIdIsNull"),

        /**
         * 请选择需要入的库位
         */
        STOCKPLACE_ISNULL("stockPlaceisNull"),

        /**
         * 该完工单不存在或已删除
         */
        ENDWORK_NOTEXIST("endWorkNotExist"),

        /**
         * 该完工单没有良品数，不可入库
         */
        PASSQTY_NOTEXIST("passQtyNotExist"),

        /**
         * 该完工单工序非入库工序，不可入库
         */
        WORKBILL_OPER_ERROR("workBillOperError"),

        /**
         * 该完工单未质检，不可入库
         */
        WORKBILL_NO_QUALITY("workBillNoQuality"),

        /**
         * 该完工单数量已全部入库，不可再次凭此单据入库
         */
        WORKBILL_INSTOCKQTY_FULL("workBillInStockQtyFull"),

        /**
         * 物料入库数不可小于0
         */
        WORK_INSTOCK_QTY_LESS_ZERO("workInStockQtyLessZero"),

        /**
         * 物料入库数超过待入库数
         */
        WORKINSTOCK_QTY_EXCEED("workInStockExceed"),

        /**
         * 派工单不存在
         */
        WORKINSTOCK_DISPATCHED_NOTEXIST("workInStockDispatchedNotExist"),

        /**
         * 任务单不存在
         */
        WORKINSTOCK_TASK_NOTEXIST("workInStockTaskNotExist"),
        ;

        private String code;

        private WorkBillInStockResultEnums(String code) {
            this.code = code;
        }

        public String getCode() {
            return code;
        }

        public void setCode(String code) {
            this.code = code;
        }
    }

    /**
     * @author King
     * @ClassName: SubcInResultEnums
     * @Description:委外接收返回信息枚举
     * @date 2020年7月12日
     */
    public static enum SubcInResultEnums {
        /**
         * 接收明细为空
         */
        SUBCIN_ENTRY_NOTEXIST("subcInEntryNotExist"),

        /**
         * 接收员工卡号为空
         */
        SUBCIN_WORKER_CARD_NO_ISNULL("subcInWorkerCardNoIsNull"),

        /**
         * 该员工不存在
         */
        SUBCIN_WORKER_NOTEXIST("subcInWorkNotExist"),

        /**
         * 委外转出单id不能为空
         */
        SUBCOUT_ID_ISNULL("subcOutIdIsNull"),

        /**
         * 委外转出单不存在
         */
        SUBCOUT_BILL_NOTEXIST("subcOutBillNotExist"),

        /**
         * 任务单id不能为空
         */
        SUBCIN_TASK_ID_ISNULL("subcInTaskIdIsNull"),

        /**
         * 接收数不可小于0
         */
        SUBCIN_QTY_LESSZERO("subcInQtyLessZero"),

        /**
         * 任务单不存在
         */
        SUBCIN_TASK_NOTEXIST("subcInTaskNotExist"),

        /**
         * 委外转出分录 id不能为空
         */
        SUBCOUT_ENTRYID_ISNULL("subcOutEntryIdIsNull"),

        /**
         * 委外转出分录不存在
         */
        SUBCOUT_ENTRY_NOTEXIST("subcOutEntryIdNotExist"),

        /**
         * 接收数不可大于可接收数
         */
        SUBCIN_QTY_FULL("subcInQtyFull");

        private String code;

        private SubcInResultEnums(String code) {
            this.code = code;
        }

        public String getCode() {
            return code;
        }

        public void setCode(String code) {
            this.code = code;
        }
    }

    /**
     * @author King
     * @ClassName: SystemParamEnums
     * @Description:系统参数分类枚举
     * @date 2020年6月30日
     */
    public static enum SystemParamEnums {
        /**
         * 源单类型
         */
        SOURCE_TYPE("sourceType", "源单类型"),

        /**
         * 出入库类型
         */
        STOCK_TYPE("inStockType", "出入库类型"),

        /**
         * 质检类型
         */
        QC_TYPE("outStockType", "质检类型"),

        /**
         * 物料单位
         */
        ITEM_UNIT("itemUnit", "物料单位"),

        /**
         * 物料属性
         */
        ITEM_PROPERTIES("ItemProperties", "物料属性"),

        /**
         * 任务单类型
         */
        TASK_TYPE("taskType", "任务单类型"),

        /**
         * 质检方法
         */
        QC_METHOD("qcMethod", "质检方法"),
        /**
         * 质检方案分类
         */
        QC_SCHEME("qcScheme", "质检方案分类"),

        /**
         * 单据状态
         */
        BILL_STATUS("billStatus", "单据状态"),

        /**
         * 设备（产线）状态
         */
        DEVICE_STATUS("deviceStatus", "设备(产线)状态"),

        /**
         * ERP
         */
        ERP_BACK("back", "erp回写类型"),

        /**
         * 加工方式
         */
        PROCESS_MODE("processMode", "加工方式"),
        /**
         * 报工类型
         */
        WORK_REPORT_TYPE("workReportType", "报工类型"),
        ;

        private String code;
        private String name;

        private SystemParamEnums(String code, String name) {
            this.code = code;
            this.name = name;
        }

        public String getCode() {
            return code;
        }

        public void setCode(String code) {
            this.code = code;
        }

        public String getName() {
            return name;
        }

        public void setName(String name) {
            this.name = name;
        }
    }

    /**
     * @author King
     * @ClassName: SourceType
     * @Description:系统参数之源单类型枚举
     * @date 2020年6月30日
     */
    public static enum SourceType {
        /**
         * 采购订单
         */
        BUY_ORDER("buyOrder", "采购订单"),

        /**
         * 销售订单
         */
        SALE_ORDER("saleOrder", "销售订单"),

        /**
         * 生产任务单
         */
        TASK("task", "生产任务单"),

        /**
         * 派工单
         */
        DISPATCH("dispatch", "派工单"),

        /**
         * 委外转出单
         */
        SUBCOUT("subcOut", "委外转出单"),

        /**
         * 委外接收单
         */
        SUBCIN("subcIn", "委外接收"),

        /**
         * 收料通知单
         */
        ARRIVAL("arrival", "收料通知单"),

        /**
         * 工序流程卡
         */
        FLOW_CARD("flowCard", "工序流程卡"),

        /**
         * 工序流转卡
         */
        SUB_TASK("subTask", "工序流转卡"),

        /**
         * 工序流转卡工序
         */
        SUB_TASK_CARD("subTaskCard", "工序流转卡工序"),

        /**
         * 完工单
         */
        END_WORK("endWork", "完工单"),

//        /**
//         * 完工报废单
//         */
//        END_WORK_SCRAPPED("endWorkScrapped", "完工报废单"),

        /**
         * 回料接受单
         */
        ITEMREIN("itemRe", "回料接受"),
        /**
         * 合并派工单
         */
        MERGE_FEED("mergeFeed", "合并派工单"),
        /**
         * 生产退料单
         */
        RETURN_OF_ITEM("returnOfItem", "生产退料单"),
        /**
         * 生产补料单
         */
        REPLENISHMENT("replenishment", "生产补料单"),
        /**
         * 生产换料单
         */
        EXCHANGE("exchange", "生产换料单"),
        /**
         * 拆件单
         */
        DISASSEMBLE("disassemble", "拆件单"),
        /**
         * 生产入库单
         */
        PROCESS_INSTOCK("processInStock", "生产入库单"),

        /**
         * 投料单
         */
        FEED_BILL("feedBill", "投料单"),

        /**
         * 工单产出表
         */
        TASK_OUT_PUT("taskOutPut", "工单产出表"),
        /**
         * 设备派工单
         */
        DEV_DISPATCH("devCardDispatch", "设备派工单"),
        /**
         * 自动线退料单
         */
        AUTO_RETURN_ITEM("autoReturnItem", "自动线退料单"),
        /**
         * 无源单调拨
         */
        NOT_SOURCE_CHANGE("notSourceChange", "无源单调拨");

        private String code;
        private String name;

        private SourceType(String code, String name) {
            this.code = code;
            this.name = name;
        }

        public String getCode() {
            return code;
        }

        public void setCode(String code) {
            this.code = code;
        }

        public String getName() {
            return name;
        }

        public void setName(String name) {
            this.name = name;
        }
    }

    /**
     * @author King
     * @ClassName: InStockType
     * @Description:系统参数之出入库类型枚举
     * @date 2020年6月30日
     */
    public static enum StockType {

        /**
         * 生产入库
         */
        PRODUCE_IN_STOCK("produceInStock", "生产入库"),

        /**
         * 采购入库
         */
        BUY_IN_STOCK("buyInStock", "采购入库"),

        /**
         * 委外接收入库
         */
        SUBC_IN_STOCK("subcInStock", "委外接收入库"),

        /**
         * 其他入库
         */
        OTH_IN_STOCK("othInStock", "其他入库"),

        /**
         * 生产领料出库
         */
        PRODUCE_OUT_STOCK("produceOutStock", "生产领料出库"),
        /**
         * 生产领料出库(虚拟发料)
         */
        PRODUCE_OUT_STOCK_IMITATE("produceOutStockImitate", "生产领料出库(虚拟发料)"),
        /**
         * 线边仓领料出库(倒扣料发料)
         */
        LINE_OUT_STOCK("lineOutStock", "倒扣料发料"),

        /**
         * 委外加工领料出库
         */
        SUBC_OUT_STOCK("subcOutStock", "委外加工领料出库"),

        /**
         * 维修领料出库
         */
        REPAIR_OUT_STOCK("repairOutStock", "维修领料出库"),

        /**
         * 销售发货出库
         */
        SALES_OUT_STOCK("salesOutStock", "销售出库"),

        /**
         * 其他出库
         */
        OTH_OUT_STOCK("othOutStock", "其他出库"),
        /**
         * 合并领料出库
         */
        MERGE_FEED_OUT_STOCK("mergeFeedOutStock", "合并领料出库"),
        /**
         * 生产领料退库
         */
        RETURN_OF_ITEM("returnOfItem", "生产领料退库"),
        /**
         * 生产补料
         */
        REPLENISHMENT("replenishment", "生产补料出库"),
        /**
         * 数字化车间完工入库领料
         */
        END_WORK_OUT_STOCK("endWorkOutStock", "完工入库领料"),

        /**
         * 生产报废入库
         */
        SCRAPPED_IN_STOCK("scrappedInStock", "生产报废入库"),
        /**
         * 委外报废入库
         */
        SCRAPPED_SUB_IN_STOCK("scrappedSubInStock", "委外报废入库"),
        /**
         * 采购报废入库
         */
        SCRAPPED_BUY_IN_STOCK("scrappedBuyInStock", "采购报废入库"),
        /**
         * 拆件单入库
         */
        DISASSEMBLE_IN_STOCK("disassembleInStock", "拆件单入库"),
        /**
         * 拆件单出库
         */
        DISASSEMBLE_OUT_STOCK("disassembleOutStock", "拆件单出库"),
        NORMARL_TYPE("normalType", "无订单盘点调拨"),
        NOT_ORDER_TYPE("notOrderType", "无订单盘点调拔"),
        INVERTED_TYPE("invertedType", "倒扣料调拨"),
        ITEM_OUT_TYPE("itemOutType", "数字化车间调拔"),
        INVERTED_APP_TYPE("invertedAppType", "倒扣料调拨(App)"),
        ITEM_OUT_APP_TYPE("itemOutAppType", "领料调拨(App)"),
        EXCHANGE_BY_OUT_TYPE("exchangeByOut_type", "换料调拔(发出)"),
        EXCHANGE_BY_RETURN_TYPE("exchangeByReturnType", "换料调拔(退回)"),
        PEND_BY_RETURN_TYPE("pendByReturnType", "待处理退料调拨（数字化车间）"),
        SUBCOUT_CHANGE("subcOutChange", "委外调拔"),
        ITEM_OUT_TYPE_CANCEL("itemOutTypeCancel", "领料调拨撤销");

        private String code;
        private String name;

        private StockType(String code, String name) {
            this.code = code;
            this.name = name;
        }

        public String getCode() {
            return code;
        }

        public void setCode(String code) {
            this.code = code;
        }

        public String getName() {
            return name;
        }

        public void setName(String name) {
            this.name = name;
        }

    }

    /**
     * @author King
     * @ClassName: QcType
     * @Description:系统参数之检验类型
     * @date 2020年6月30日
     */
    public static enum QcType {

        /**
         * 采购入库进料检
         */
        BUY_INSTOCK_QC("buyInStockQc", "采购入库进料检"),

        /**
         * 完工检
         */
        OPER_QC("endWorkQc", "完工检"),

        /**
         * 委外接收检
         */
        SUBC_IN_QC("subcInQc", "委外接收检"),

        /**
         * 其他检
         */
        OTH_QC("othQc", "其他检"),

        /**
         * 首检
         */
        FIRST_QC("firstQc", "首检"),

        /**
         * 巡检
         */
        IP_QC("ipQc", "巡检"),

        /**
         * 入库检（终检）
         */
        F_QC("fQc", "入库检"),
        ;

        private String code;
        private String name;

        private QcType(String code, String name) {
            this.code = code;
            this.name = name;
        }

        public String getCode() {
            return code;
        }

        public void setCode(String code) {
            this.code = code;
        }

        public String getName() {
            return name;
        }

        public void setName(String name) {
            this.name = name;
        }

    }

    /**
     *任务单加工方式枚举
     * @param null
     * @author King
     * @date 2021/2/2 0002 15:43
     * @return
     */
    public static enum ProcessMode {
        /**
         * 机加工
         */
        MACHINING("machining", "机加工"),

        /**
         * 人工装配
         */
        MANUAL_ASSEMBLY("manualAssembly", "人工装配"),

        /**
         * 自动线(装配)
         */
        AUTO_ASSEMBLY("autoAssembly", "自动线(装配)"),

        /**
         * 自动线(机加)
         */
        AUTO_MACHINING("autoMachining", "自动线(机加)"),

        /**
         * 人工拆解
         */
        MANUAL_DISASSEMBLY("manualDisassembly", "人工拆解"),

        /**
         * 委外加工
         */
        SUBC_OUT("subcOut", "委外加工");
        private String code;
        private String name;

        private ProcessMode(String code, String name) {
            this.code = code;
            this.name = name;
        }

        public String getCode() {
            return code;
        }

        public void setCode(String code) {
            this.code = code;
        }

        public String getName() {
            return name;
        }

        public void setName(String name) {
            this.name = name;
        }
    }
    
    /**
     * 设备(产线)状态
     * @param null
     * @author King
     * @date 2021/2/4 0004 15:29 
     * @return 
     */
    public static enum DeviceStatus{
        /**
         * 正常
         */
        NORMAL("normal", "正常"),

       /**调试中*/
        DEBUG("debugging", "调试中"),

        /**维修中*/
        REPAIR("repairging", "维修中");
        private String code;
        private String name;

        private DeviceStatus(String code, String name) {
            this.code = code;
            this.name = name;
        }

        public String getCode() {
            return code;
        }

        public void setCode(String code) {
            this.code = code;
        }

        public String getName() {
            return name;
        }

        public void setName(String name) {
            this.name = name;
        }
    }


    /**
     * @author King
     * @ClassName: TaskStatus
     * @Description:系统参数之单据状态枚举
     * @date 2020年6月30日
     */
    public static enum BillStatus {

        /**
         * 已保存
         */
        SAVED("saved", "已保存"),

        /**
         * 已审核
         */
        REVIEWED("reviewed", "已审核"),

        /**
         * 已过账
         */
        POST("post", "已过账"),

        /**
         * 已回写
         */
        WRITE_BACK("writeback", "已回写"),

        /**
         * 确认中
         */
        PENDING("pending", "确认中"),

        /**
         * 已下达
         */
        ISSUED("issued", "已下达"),

        /**
         * 生产中
         */
        PRODUCING("producing", "生产中"),

        /**
         * 已完成
         */
        FINISH("finish", "已完成"),

        /**
         * 已关闭
         */
        CLOSED("closed", "已关闭"),

        /**
         * 待开工
         */
        PENDING_WORK("pendingWork", "待开工"),

        /**
         * 已开工
         */
        UNDERWAY_WORK("underwayWork", "已开工"),

        /**
         * 未发料
         */
        UNISSUED("unissued", "未发料"),

        /**
         * 部分发料
         */
        PARTIAL("partial", "部分发料"),

        /**
         * 全部发料
         */
        ALL("all", "全部发料"),

        /**
         * 已发出
         */
        UNISSUED_SEND("unissuedSend", "已发出"),

        /**
         * 部分接收
         */
        PARTIAL_IN("partialIn", "部分接收"),

        /**
         * 全部接收
         */
        ALL_IN("allIn", "全部接收"),

        /**
         * 未质检
         */
        UNISSUED_QC("unissuedQc", "未质检"),

        /**
         * 已质检
         */
        ALREADY_QC("alreadyQc", "已质检"),

        /**
         * 部分入库
         */
        PARTIAL_IN_STOCK("partialInStock", "部分入库"),

        /**
         * 全部入库
         */
        ALL_IN_STOCK("allInStock", "全部入库"),

        /**
         * 待盘点
         **/
        WAIT_CHECK("waitCheck", "待盘点"),

        /**
         * 部分已盘点
         **/
        CHECK_PART("checkPart", "部分已盘点"),

        /**
         * 盘点完成
         **/
        CHECK_SUCCESS("checkSuccess", "盘点完成"),

        /**
         * 移出
         **/
        CHANGE_OUT("chageOut", "已移出"),

        /**
         * 无需领料
         **/
        UNWANTED("unwanted", "无需领料"),

        /**
         * 手工结案
         **/
        MANUAL_CLOSED("manualClosed", "手动结案"),

        /**
         * 自动结案
         **/
        AUTO_CLOSED("autoClosed", "自动结案"),

        /**
         * 审核驳回
         **/
        CHECK_REJECT("checkReject", "审核驳回"),

        /**
         * 部分退回
         **/
        PARTIAL_RETURN("partialReturn", "部分退回"),

        /**
         * 拆解中
         **/
        DISMANTLING("dismantling", "拆解中"),

        /**
         * 清单下推领料
         **/
        PUSH_PICKING("pushPicking", "清单下推领料"),

        /**
         * 首检合格
         **/
        FIRST_QC_OK("firstQc_ok", "首检合格"),

        /**
         * 首检不合格
         **/
        FIRST_QC_NG("firstQc_ng", "首检不合格"),

        /**
         * 工单执行至开工
         **/
        EXEC_START("execStart", "工单执行至开工"),

        /**
         * 工单下推入库
         **/
        PUSH_WAREHOUSING("pushWarehousing", "工单下推入库");

        private String code;
        private String name;

        private BillStatus(String code, String name) {
            this.code = code;
            this.name = name;
        }

        public String getCode() {
            return code;
        }

        public void setCode(String code) {
            this.code = code;
        }

        public String getName() {
            return name;
        }

        public void setName(String name) {
            this.name = name;
        }

    }

    /**
     * @author King
     * @ClassName: ItemProperties
     * @Description:系统参数之物料属性
     * @date 2020年7月1日
     */
    public static enum ItemProperties {

        /**
         * 外购
         */
        BUY("buy", "外购"),

        /**
         * 自制
         */
        DIY("diy", "自制"),

        ;
        private String code;
        private String name;

        private ItemProperties(String code, String name) {
            this.code = code;
            this.name = name;
        }

        public String getCode() {
            return code;
        }

        public void setCode(String code) {
            this.code = code;
        }

        public String getName() {
            return name;
        }

        public void setName(String name) {
            this.name = name;
        }

    }

    /**
     * 报工类型
     *
     * @param null
     * @author King
     * @date 2021/1/6 0006 21:42
     * @return
     */
    public static enum WorkReportType {
        /**
         * 单人报工
         */
        ONE_REPORT("oneReport", "单人报工"),

        /**
         * 组报工
         */
        TEAM_REPORT("teamReport", "组报工"),

        /**
         * 设备自动报工
         */
        DEVICE_AUTO_REPORT("deviceAutoReport", "设备自动报工"),

        /**
         * 组自动报工
         */
        TEAM_AUTO_REPORT("teamAutoReport", "组自动报工"),


        ;
        private String code;
        private String name;

        private WorkReportType(String code, String name) {
            this.code = code;
            this.name = name;
        }

        public String getCode() {
            return code;
        }

        public void setCode(String code) {
            this.code = code;
        }

        public String getName() {
            return name;
        }

        public void setName(String name) {
            this.name = name;
        }
    }


    public static enum ItemUnit {

        /**
         * 个
         */
        GE("ge", "个"),

        /**
         * 片
         */
        PIAN("pian", "片"),

        /**
         * 台
         */
        TAI("tai", "台"),

        /**
         * pcs
         */
        PCS("pcs", "pcs"),

        /**
         * 米
         */
        METER("meter", "米"),

        /**
         * 千克
         */
        KG("kg", "公斤"),

        /**
         * 根
         */
        GEN("gen", "根"),
        ;
        private String code;
        private String name;

        private ItemUnit(String code, String name) {
            this.code = code;
            this.name = name;
        }

        public String getCode() {
            return code;
        }

        public void setCode(String code) {
            this.code = code;
        }

        public String getName() {
            return name;
        }

        public void setName(String name) {
            this.name = name;
        }
    }

    /**
     * @author King
     * @ClassName: TaskType
     * @Description:任务单类型
     * @date 2020年7月2日
     */
    public static enum TaskType {

        /**
         * 常规任务单
         */
        ROUTINE("routine", "常规任务单"),

        /**
         * 返修任务单
         */
        REWORK("rework", "返修任务单"),

        /**
         * 委外任务单
         */
        SUBC("subc", "委外任务单"),

        /**
         * 销售订单产生
         */
        SALE_INPUT("saleInput", "销售订单产生"),

        /**
         * 销售订单产生
         */
        DISASSEMBLE_BILL("disassembleBill", "拆件工单"),

        ;
        private String code;
        private String name;

        private TaskType(String code, String name) {
            this.code = code;
            this.name = name;
        }

        public String getCode() {
            return code;
        }

        public void setCode(String code) {
            this.code = code;
        }

        public String getName() {
            return name;
        }

        public void setName(String name) {
            this.name = name;
        }

    }

    /**
     * 质检方法
     *
     * @author King
     * @ClassName: QcMethodEnum
     * @Description:
     * @date 2020年7月14日
     */
    public static enum QcMethodEnum {

        /**
         * 免检
         */
        EXEMPTION("exemption", "免检"),

        /**
         * 全检
         */
        FULL("full", "全检"),

        /**
         * 抽检
         */
        SPOT_CHECK("spotCheck", "抽检"),
        ;
        private String code;
        private String name;

        private QcMethodEnum(String code, String name) {
            this.code = code;
            this.name = name;
        }

        public String getCode() {
            return code;
        }

        public void setCode(String code) {
            this.code = code;
        }

        public String getName() {
            return name;
        }

        public void setName(String name) {
            this.name = name;
        }
    }

    // *********************************************************************

    /**
     * 短年字符串长度
     */
    public static final int YEAR_FORMAT_LENGTH_SHORT = 2;

    /**
     * 短年format字符串
     */

    public static final String YEAR_FORMAT_SHORT = "yy";

    /**
     * 长年字符串长度
     */
    public static final int YEAR_FORMAT_LENGTH_LONG = 4;

    /**
     * 长年format字符串
     */
    public static final String YEAR_FORMAT_LONG = "yyyy";

    /**
     * 月format字符串
     */
    public static final String MONTH_FORMAT = "MM";

    /**
     * 日format字符串
     */
    public static final String DAY_FORMAT = "dd";

    // *********************************************************************

    /**
     * 当前国家短代码
     */
    public static final String COUNTRY_SHORT_CODE = "CN";

    // *********************************************************************

    /**
     * 正常或检验通过后的编码
     */
    public static final String OK_CODE = "0000";

    /**
     * 异常或检验没通过后的错误码
     */
    public static final String ERROR_CODE = "9999";

    // *********************************************************************

    /**
     * 自动报工类型--按个报工
     */
    public static final int AUTO_REPORT_PCS = 1;

    /**
     * 自动报工类型--按盒报工
     */
    public static final int AUTO_REPORT_MIN_BOX = 2;

    /**
     * 自动报工类型--按箱报数
     */
    public static final int AUTO_REPORT_BOX = 3;

    /**
     * 出库标志
     */
    public static final int OUT_STOCK_FLAG = -1;

    /**
     * 入库标志
     */
    public static final int IN_STOCK_FLAG = 1;

    /**
     * 出库管理中的出库类型（生产领料出库）
     */
    public static final int PRODUCE_OUT_TYPE = 10005;

    /**
     * 出库管理中的出库类型（外协领料出库）
     */
    public static final int SUBC_OUT_TYPE = 2;

    /**
     * 出库管理中的出库类型（合并领料出库）
     */
    public static final int MERGE_FEED_OUT_TYPE = 3;

    /**
     * 工序流转卡领料
     */
    public static final int SUB_TASK = 10128;

    /**
     * 排料换料
     */
    public static final int EXCHANGE = 10134;

    /**
     * 拆件单
     */
    public static final int DISASSEMBLE = 10140;

    /**
     * 入库管理中的入库类型（生产入库）
     */
    public static final int PRODUCE_IN_TYPE = 1;

    /**
     * 入库管理中的入库类型（委外接收入库）
     */
    public static final int SUBCIN_IN_TYPE = 2;

    /**
     * 入库管理中的入库类型（其他入库）
     */
    public static final int OTHER_IN_TYPE = 3;

    /**
     * 入库管理中的入库类型（采购入库）
     */
    public static final int ARRIVAL_IN_TYPE = 4;

    /**
     * 委外转出类型 任务单外协
     */
    public static final int TASK_SUBC = 1;

    /**
     * 委外转出类型 工序外协
     */
    public static final int FLOWCARD_SUBC = 2;

    /**
     * 质检类型 完工单质检
     */
    public static final int ENDWORK_QC = 1;

    /**
     * 质检类型 工序流转卡质检
     */
    public static final int SUBTASK_QC = 10129;

    /**
     * 质检类型 委外接收质检
     */
    public static final int SUBCIN_QC = 2;

    /**
     * 质检类型 进料质检
     */
    public static final int ARRIVAL_QC = 3;

    /**
     * 质检类型 昌扬工序流转卡质检
     */
    public static final int SUB_TASK_QENDWORK_QC = 4;

    /**
     * 质检类型 验退质检
     */
    public static final int ARRIVAL_RETURN_QC = 5;

    /**
     * 质检类型 首检
     */
    public static final int FIRST_QC = 6;

    /**
     * 委外撤销类型 转出撤销
     */
    public static final int REVOKE_SUBOUT = 1;

    /**
     * 委外撤销类型 接收撤销
     */
    public static final int REVOKE_SUBIN = 2;

    /**
     * 页面属性下拉框
     **/
    public static final int PAGE_SEARCH_PROPERTY = 0;

    /**
     * 页面符号下拉框
     **/
    public static final int PAGE_SEARCH_CHARACTER = 1;

    //*******************************************************************
    //单位进位规则
    //*******************************************************************
    /**
     * 小数进位规则1 四舍五入
     */
    public static final int ROUNDING = 1;

    /**
     * 小数进位规则2 四舍六入五成双
     */
    public static final int SQL_FUNCTION = 2;

    /**
     * 小数进位规则3  无条件舍弃
     */
    public static final int DISCARD_DECIMAL = 3;

    /**
     * 小数进位规则4  无条件进位()
     */
    public static final int CARRY = 4;

    /**
     * 免检标志的值
     */
    public static final int MIAN_JIAN = 10085;

    /**
     * 埃美柯特征为1的标志
     */
    public static final String FEATURES = "1";

    /**
     * 委外发货
     */
    public static final int SUB_ORDER = 1;
    
    /**
     * 采购发货
     */
    public static final int ARRIVAL_ORDER = 2;

    /**小数0*/
    public static final double ZERO_D =0.0;

    /**整数0*/
    public static final int ZERO_I =0;

    /**时间格式化*/
    public static final String TIME_FORMAT ="yyyy-MM-dd HH:mm:ss";
}
